package com.xo.common.constant;

import io.swagger.v3.oas.annotations.media.Schema;

/**
 * 通用符号常量类，定义系统中常用的单字符或符号组合
 */
@Schema(description = "通用符号常量")
public class CommonSymbolConstant {

    // 路径与目录相关符号
    @Schema(description = "斜杠（正斜杠）")
    public static final String FORWARD_SLASH = "/";

    @Schema(description = "反斜杠）")
    public static final String BACK_SLASH = "\\";

    @Schema(description = "点（用于文件扩展名分隔）")
    public static final String DOT = ".";

    @Schema(description = "双点（表示上级目录）")
    public static final String DOUBLE_DOT = "..";


    // 括号类符号
    @Schema(description = "花括号（大括号）")
    public static final String CURLY_BRACKETS = "{}";

    @Schema(description = "左花括号")
    public static final String LEFT_CURLY_BRACKET = "{";

    @Schema(description = "右花括号")
    public static final String RIGHT_CURLY_BRACKET = "}";

    @Schema(description = "方括号（中括号）")
    public static final String SQUARE_BRACKETS = "[]";

    @Schema(description = "左方括号")
    public static final String LEFT_SQUARE_BRACKET = "[";

    @Schema(description = "右方括号")
    public static final String RIGHT_SQUARE_BRACKET = "]";

    @Schema(description = "圆括号（小括号）")
    public static final String ROUND_BRACKETS = "()";

    @Schema(description = "左圆括号")
    public static final String LEFT_ROUND_BRACKET = "(";

    @Schema(description = "右圆括号")
    public static final String RIGHT_ROUND_BRACKET = ")";


    // 标点符号
    @Schema(description = "逗号")
    public static final String COMMA = ",";

    @Schema(description = "分号")
    public static final String SEMICOLON = ";";

    @Schema(description = "冒号")
    public static final String COLON = ":";

    @Schema(description = "问号")
    public static final String QUESTION_MARK = "?";

    @Schema(description = "感叹号")
    public static final String EXCLAMATION_MARK = "!";

    @Schema(description = "句号（点号）")
    public static final String PERIOD = ".";

    @Schema(description = "省略号")
    public static final String ELLIPSIS = "...";

    @Schema(description = "连字符（短横线）")
    public static final String HYPHEN = "-";

    @Schema(description = "长破折号")
    public static final String EM_DASH = "—";

    @Schema(description = "下划线")
    public static final String UNDERSCORE = "_";


    // 引号类符号
    @Schema(description = "双引号")
    public static final String DOUBLE_QUOTES = "\"";

    @Schema(description = "单引号")
    public static final String SINGLE_QUOTE = "'";

    @Schema(description = "反引号（着重号）")
    public static final String BACKTICK = "`";


    // 数学与逻辑符号
    @Schema(description = "等号")
    public static final String EQUALS = "=";

    @Schema(description = "加号")
    public static final String PLUS = "+";

    @Schema(description = "减号")
    public static final String MINUS = "-";

    @Schema(description = "星号（乘号）")
    public static final String ASTERISK = "*";

    @Schema(description = "斜杠（除号）")
    public static final String SLASH = "/";

    @Schema(description = "百分号")
    public static final String PERCENT = "%";

    @Schema(description = "小于号")
    public static final String LESS_THAN = "<";

    @Schema(description = "大于号")
    public static final String GREATER_THAN = ">";

    @Schema(description = "小于等于号")
    public static final String LESS_THAN_OR_EQUAL = "<=";

    @Schema(description = "大于等于号")
    public static final String GREATER_THAN_OR_EQUAL = ">=";

    @Schema(description = "不等于号")
    public static final String NOT_EQUAL = "!=";

    @Schema(description = "与号（和号）")
    public static final String AMPERSAND = "&";

    @Schema(description = "竖线（管道符）")
    public static final String PIPE = "|";

    @Schema(description = "井号（哈希符）")
    public static final String HASH = "#";

    @Schema(description = "at符号（艾特符）")
    public static final String AT = "@";

    @Schema(description = "美元符号")
    public static final String DOLLAR = "$";

    @Schema(description = "欧元符号")
    public static final String EURO = "€";

    @Schema(description = "英镑符号")
    public static final String POUND = "£";

    @Schema(description = "人民币/日元符号")
    public static final String YEN = "¥";


    // 特殊符号
    @Schema(description = "空格")
    public static final String SPACE = " ";

    @Schema(description = "制表符（Tab）")
    public static final String TAB = "\t";

    @Schema(description = "换行符")
    public static final String NEWLINE = "\n";

    @Schema(description = "回车符")
    public static final String CARRIAGE_RETURN = "\r";

    @Schema(description = "版权符号")
    public static final String COPYRIGHT = "©";

    @Schema(description = "注册商标符号")
    public static final String REGISTERED_TRADEMARK = "®";

    @Schema(description = "商标符号（未注册）")
    public static final String TRADEMARK = "™";

    public static String appendLog(String message){
        return message + FORWARD_SLASH;
    }


}
    